package com.yidu.ladder.base.service;

import java.util.List;
import java.util.Map;

import com.yidu.ladder.base.domain.Riparea;
import com.yidu.ladder.base.domain.RipareaCustomer;
import com.yidu.ladder.base.domain.RipareaStaff;
import com.yidu.ladder.base.domain.RipareaVo;
import com.yidu.ladder.base.domain.Staff;
import com.yidu.ladder.system.domain.Customer;
/**
 * 定区业务逻辑接口
 * @author lw
 * @since 2020/1/10
 */
public interface RipareaService {
	
	/**
	 * 查询所有带条件
	 * @param ripareaVo
	 * @return
	 */
	public Map<String,Object> findAllRipareaWithPage(RipareaVo ripareaVo);
	
	/**
	 * 添加定区
	 * @param riparea
	 * @return
	 */
	public boolean addRiparea(Riparea riparea);
	
	/**
	 * 修改
	 * @param riparea
	 * @return
	 */
	public boolean updataRiparea(Riparea riparea);
	
	/**
	 * 冻结或还原
	 * @param ripAreaIdStr
	 * @param flag
	 * @return
	 */
	public boolean frozenORrecoverRiparea(String ripAreaIdStr, boolean flag);
	
	/**
	 * 根据定区Id查询职员
	 * @return
	 */
	public List<Staff> findAllStaffByRipAreaId(String ripAreaId);
	
	/**
	 * 添加定区职员
	 * @param ripareaStaff
	 * @return
	 */
	public boolean addRipareaStaff(Riparea riparea,Staff staff);
	
	/**
	 * 根据定区id查职员
	 * @param ripAreaId
	 * @return
	 */
	public List<RipareaStaff> findRipareaStaffByRipAreaId(String ripAreaId);
	
	/**
	 * 根据定区Id查定区名
	 * @param ripAreaId
	 * @return
	 */
	public Riparea findRipareaByRipareaId(String ripAreaId);
	
	/**
	 * 根据职员Id查职员名
	 * @param staffId
	 * @return
	 */
	public Staff findStaffByStaffId(String staffId);
	
	/**
	   * 根据定区Id和职员Id删除定区职员
	 * @param ripAreaId
	 * @param staffId
	 * @return
	 */
	public boolean deleteRipareaStaff(String ripAreaId,String staffId);
	
	/**
	 * 查询所有客户Id和客户名
	 * @return
	 */
	public List<Customer> findAllCustomer();
	
	/**
	 * 根据定区Id查询客户信息
	 * @param ripAreaId
	 * @return
	 */
	public List<RipareaCustomer> findRipareaCustomerByRipAreaId(String ripAreaId);
	
	/**
	 * 根据客户Id查客户名
	 * @param customerId
	 * @return
	 */
	public Customer findCustomerByCustomerId(String customerId);
	
	/**
	 * 添加定区客户
	 * @param ripareaCustomer
	 * @return
	 */
	public boolean addRipareaCustomer(Riparea riparea,Customer customer);
	
	/**
	 * 根据定区Id和客户Id删除定区客户
	 * @param ripAreaId
	 * @param customerId
	 * @return
	 */
	public boolean deleteRipareaCustomer(String ripAreaId,String customerId);
	
	/**
	 * 查询所有的职员名
	 * @return
	 */
	public List<Staff> findAllStaffName();
}
